home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / MIXCASE.ZIP;1 / RTJUST.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1993-04-25  |  2.2 KB  |  62 lines

  1. 10  'RTJUST.BAS                    copyright G.Michels   Mar 1990
  2. 20  '
  3. 30  '
  4. 100  'A$=ONE CHAR READ                  TB=CHAR COUNT PER LINE (CURSOR POSTION)
  5. 110  'LSC(SP)=LINE SPACE COUNT   SP=OCCURANCE OF SPACE IN A LINE
  6. 120  'INDENT=0 IF NO INDENT,     CR=CARRIAGE RETURN COUNT
  7. 130  'Y=COL WIDTH OF LINE        Z=LINE COUNTER
  8. 140  'X=TOTAL CHAR COUNT         OF=OVERFLOW OF CHAR TO BE CARRIED TO NEXT LINE
  9. 150  'READS A SEQUENTIAL FILE FROM .DOC OR DESKMATE TEXT AND
  10. 155  'RIGHT JUSTIFY AND SAVES TO NEW .DOC FILE FOR FURTHER EDITING.
  11. 160  '
  12. 170  '
  13. 180  CLS:PRINT "LINE WIDTH IS 70 CHAR.. CHANGE? Y/N :"
  14. 185  INPUT ANS$:IF ANS$="Y" THEN PRINT"EDIT 250 AND CHANGE Y TO DESIRED LENGTH."
  15. 190  PRINT LW$"WHAT .DOC FILE DO YOU WISH TO RIGHT JUSTIFY? :"
  16. 200  INPUT LW$:LOW$=LW$+".DOC"
  17. 210  PRINT RJ$"NAME OF OUTPUT .DOC FILE? :"
  18. 220  INPUT RJ$:RTJ$=RJ$+".DOC"
  19. 230  'LPRINT CHR$(27);CHR$(33):LPRINT CHR$(27);CHR$(17)
  20. 240  INDENT=0:'***ADD INDENT FEATURE LATER FOR 5 SPACES
  21. 250  Y=70:Z=1:S=1:'REM Y=LINE LENGTH AND Z=LINE COUNTER.S=A$(S)DTSET END IN SPACE
  22. 260  X=1:TB=1:SP=1:'TB reflects cursor POSITION,X TOTAL CHAR COUNT,SP SPACE COUNT
  23. 270  DIM A$(Y+1):DIM B$(30):SP=1:'A$=CHAR READ,LSC=LINE SPACE COUNT,SP=SPACE
  24. 280  '****WIDEST PRINT LINE "SET Y" IS 70 JUST AS IN DESKMATE TEXT***"
  25. 290  '
  26. 300  OPEN "I",#1,LOW$
  27. 305  OPEN "O",#2,RTJ$
  28. 310  A$(TB)=INPUT$(1,#1):OF$=OF$+A$(TB)
  29. 320  IF A$(TB)=" " THEN GOTO 440
  30. 340  IF A$(TB)=CHR$(13) THEN GOTO 450
  31. 345  IF EOF (1) THEN 365
  32. 350  IF TB=Y THEN GOTO 500
  33. 360  TB=TB+1:X=X+1:GOTO 310
  34. 365  PRINT TAB(1),C$
  35. 370  PRINT #2,C$:CLOSE 1:PRINT:PRINT "FILE CLOSING":PRINT"#LINES="Z
  36. 380  PRINT"#CHAR="X:END
  37. 390  C=(LEN(C$)-1):C$=LEFT$(C$,C)
  38. 395  PRINT #2, C$
  39. 400  PRINT TAB(1) C$;:C$="":Z=Z+1:S=1:PRINT TAB(80)" "
  40. 410  IF LEN(OF$)>0 THEN TB=LEN(OF$)+1:ELSE TB=1
  41. 420  GOTO 310:'PRINT TAB(70) LEN(OF$)" "X
  42. 430  '
  43. 440  B$(S)=OF$:C$=C$+B$(S):S=S+1:OF$="":GOTO 345
  44. 450  C=(LEN(OF$)-1):OF$=LEFT$(OF$,C)
  45. 455  PRINT C$;OF$;:PRINT #2,C$;OF$;
  46. 460  OF$="":TB=0:C$="":Z=Z+1:S=1:GOTO 310
  47. 470  '***IF LINE NOT SKIPPED AFTER CAR.RET. THAN LAST LINE OF PARA RUNS OVER***
  48. 480  '***IF NO PRINT TAB(NN) LINE 330, LINE AFTER C/R OVERLAPS PRIOR LINE**
  49. 490  '
  50. 500  IF LEN(OF$)=0 THEN GOTO 390
  51. 510  S=S-1:C$="":LO=LEN(OF$)
  52. 520  S2=INT(LO/S):M=LO MOD S:'PRINT TAB(55)TB" "LO" "S2" "M" "S
  53. 530  '
  54. 540  LS=S*S2+M
  55. 550  FOR SC=1 TO S
  56. 560  IF LS>0 THEN B$(SC)=B$(SC)+" "
  57. 570  IF LS>S-1 THEN  B$(SC)=B$(SC)+" "
  58. 580  LS=LS-1
  59. 590  C$=C$+B$(SC):NEXT SC
  60. 600  'PRINT"Z"
  61. 610  GOTO 390
  62.